home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Linux Cubed Series 7: Sunsite
/
Linux Cubed Series 7 - Sunsite Vol 1.iso
/
system
/
shells
/
kiss-0.11
/
kiss-0
/
kiss
/
src
/
expandvars.c
< prev
next >
Wrap
C/C++ Source or Header
|
1995-03-23
|
670b
|
48 lines
#include "kiss.h"
int expandvars (char *name, char *buf)
{
char
varname [FILENAMELEN],
twobuf [2] = { 0, 0 };
register char
*env,
*cp;
register int
varfound = 0;
cp = name;
*buf = '\0';
while (*cp)
{
if (*cp == '$' && isupper (* (cp + 1)) &&
(cp > name || *(cp - 1) != '\\')
)
{
cp++;
varname [0] = '\0';
varfound = 1;
while (isupper (*cp))
{
twobuf [0] = *cp;
strcat (varname, twobuf);
cp++;
}
if ( (env = getenv (varname)) )
strcat (buf, env);
cp--;
}
else
{
twobuf [0] = *cp;
strcat (buf, twobuf);
}
if (*cp)
cp++;
}
return (varfound);
}